Amazon SimpleDB のデータ管理
Amazon SimpleDB とは?
Amazon SimpleDBは、高可用性と拡張性を備えたRDBでないデータストアです。 RDBで無いということは、MySQLなどに代表されるデータベースとは異なります。 Amazon SimpleDBは、HTTPによるWebベースのインタフェースを持ち、エクセルのシートを管理するかのようにデータの出し入れをすることができます。
SimpleDBのデータ管理
SimpleDBのデータ管理方法は、エクセルに例えることができます。 ユーザ単位でエクセルファイルがあり、シートをDomainとして管理します。 シートの中には、複数のレコードがあり、Itemとして管理します。 カラムは、Attributeとして管理をして、セルにValueが入ります。
以下の画像はSimpleDBのデータ管理をイメージするために非常に役に立ちます。
Attributeに複数の値を持つ
先ほどエクセルを例として挙げましたが、SimpleDBはエクセルと違う点があります。それは、Attributeに値を複数持つことができる点です。
以下の画像は値を持たないAttributeの例と複数の値を持つ例を確認することができます。
Domain内の検索
RDBではないSimpleDBですが、QueryによりDomain内を検索することができます。例えば、上記の画像にあるDomainを検索する場合、以下のようにQueryを書くことができます。
select * from MyStore where Category = 'Clothes'
MyStoreというドメインから、Attribute名がCategoryで値がClothesであるItemを検索しています。結果として、Item_01とItem_02が出力されます。
Itemの追加・更新・削除
SimpleDBには、Itemの追加・更新・削除を行うことができます。追加をするにはPutAttributesというAPIを使います。更新をするには同じくPutAttributeを使って該当するItemのAttributeを上書きします。削除するにはDeleteAttributesというAPIを用います。AWSでは、SimpleDBのUIを提供していませんので、サードパーティのツールを使うか、REST形式のAPIを直接扱うことになります。APIの使い方については別の回でご紹介する予定です。
Domainの削除
エクセルのシートに相当するDomainを削除することもできます。DeleteDomainを用います。ただし、Domainを削除すると、その中になる全てのItemが消えてしまいもとに戻りませんので注意が必要です。
まとめ
Amazon SimpleDBは、その名の通り大変シンプルで、かつ、耐久性や可用性に優れたインターネット上のデータストアとして大きな可能性を秘めたサービスだと思います。 しかし、既存のデータベースで管理されているデータを全て置き換えるというものではなく、エクセルのように管理したいメタデータなどの管理に向いているのではないでしょうか。 用法を理解して楽しく活用しましょう。